The present invention relates generally to data networks and more specifically to a technique for providing multi-homing capability in a data network.
The rapid growth and success of the Internet had been do largely to the fact that the Internet provides a high degree of scalability. Such scalability is due, in part, to Internet routing protocols which typically implement a technique known as “address aggregation” (also referred to as “address summarization”). An example of an address aggregation technique is illustrated in FIG. 1 of the drawings.
FIG. 1 illustrates a conventional address aggregation technique which may be implemented by conventional Internet routing protocols. As illustrated in FIG. 1, a plurality of hosts 109 may be connected to the Internet 120 via an Internet service provider (e.g., ISP-A) 100. The Internet service provider (ISP) network may include a plurality of routers (e.g., R1-R5), switches and/or other traffic handling devices which provide connectivity between hosts 109 and other portions of the Internet 120. As illustrated in the example of FIG. 1, each of the hosts are connected to the ISP via a particular router. For example, hosts 103a, 103c, 103g are connected to ISP-A via router R1 (102). According to conventional Internet protocol, each router is typically responsible for dynamically assigning a unique IP address to each of the hosts which it services. Moreover, the hosts are typically assigned “topologically correct” addresses, meaning that the network prefixes and subnet addresses assigned to each host will be consistent with the address space provisioned to a given ISP.
Further, according to conventional Internet protocol, each router is configured to advertise the address spaces which it is able to reach. For example, as illustrated in FIG. 1, it is assumed that router R1 is able to reach a plurality of addresses within the address range of {A-G}. At least a portion of these addresses correspond to IP addresses of particular hosts (e.g., Host A, Host C, Host G) which are accessible via router R1. Similarly, as shown in FIG. 1, each of the other routers advertise the address spaces which they are able to reach. For example, router R2 may advertise that it can reach addresses {H-R}, and router R3 may advertise that it can reach addresses {S-Z}.
In the example of FIG. 1, router R4 has links to both router R1 and R2, meaning that router R4 is able to reach addresses {A-G} and addresses {H-R}. Instead of advertising addresses {A-G} and {H-R} as separate address ranges, router R4 may implement an address aggregation or address summarization technique whereby the address ranges of {A-G} and {H-R} are aggregated into a single address range of {A-R}. Similarly, router R5 performs address aggregation of address ranges {A-R} and {S-Z} by advertising an address range of {A-Z}. For purposes of clarity, the technique of address aggregation or address summarization will be referred to in this application as address aggregation.
As commonly known to one having ordinary skill in the art, address aggregation may be implemented by Internet routing protocols in order to minimize advertisement information transferred between routers in the network. As a general rule, more address aggregation translates into lower routing advertisement bandwidth, and correspondingly reduces information in routing tables. Thus, when hosts are assigned “topologically correct” addresses, route aggregation may occur as a natural consequence.
It will be appreciated, however, that there exists a legitimate business need for individual computer hosts or whole computer networks to have reachability to and from the Internet through more than one Internet Service Provider. This business need usually draws upon the conjecture that individual businesses cannot count on any given Internet Service Provider to have sufficient Internet reliability and/or availability. The downside risk of loss of connectivity to/from the Internet is so high that such businesses resort to having one or more of their Internet Protocol (IP) network addresses advertised on one or more ISP networks. Connectivity of an individual host or an individual network to one or more ISP where the advertising of the identical set of IP addresses as being reachable from more than one ISPs via routing protocols is known as “IP address multi-homing”, or simply as “multi-homing”.
Multi-homing provides a means for increased Internet connectivity, as there are multiple points of egress to the Internet and, usually more importantly, there are multiple points of ingress to the multi-homed host/network. However, there are many shortcomings to using the present-day multi-homing technique (i.e., via routing protocols) to achieve the desired high reliability/availability ends.
FIG. 2 shows an example of how a multi-homed host may obtain connectivity to the Internet via a plurality of ISPs using conventional Internet routing protocols. As shown in the example of FIG. 2, connectivity to Host C 103c may be provided via a plurality of different ISPs, namely ISP-A 100, or ISP-B 200. According to conventional practice, Host C is able to achieve multi-homing capability by using a technique known as “host route injection,” whereby Host C causes IP address (assigned from a first ISP) to be advertised by other ISPs which provide connectivity to Host C. Since most conventional multi-homing techniques are typically implemented via advertisement of a single network address, the address which is assigned to the Multi-homed Host (MHH) can only be topologically correct for at most one ISP. Thus, injection of the MHH host route into other ISPs will result in the other ISPs advertising foreign network addresses. For example, as illustrated in FIG. 2, IP address C is topologically correct for ISP-A 100, but is not topologically correct for ISP-B 200. However, using conventional host route injection techniques, Host C may cause ISP-B to advertise IP address C. As a result, ISP-B will advertise it's topologically correct address range {A′-Z′}, as well as the non-topologically correct address {C} associated with Host C.
It will be appreciated that hosts which advertise (or cause to be advertised) non-topologically correct addresses (also referred to as “foreign network” addresses) place a burden on routing infrastructure to advertise these “oddball” and generally non-aggregatable routes. This burden includes the bandwidth required for the advertisement, the increase in routing table size (e.g., for the “oddball” address(s) or network prefixe(s)), and additional packet processing for a given router. Moreover, the propagation of routing of address information beyond interior routing protocols yields increasing advertisement bandwidth and routing table information between ISPs (e.g., via exterior routing protocol bandwidth to advertise the MHHs).
As the demand for multi-homed hosts is expected to increase, the issues with these MHH advertisements threaten the efficacy of cross-ISP routing protocols. For example, host route injection of foreign network addresses prevents ISPs from performing effective address aggregation, and increases burdens on existing routing infrastructures (e.g., increased advertisement bandwidth requirements, increased routing table information, increased packet processing burdens, decrease in the timeliness of the advertisement updates, etc.).
Additionally, it will be appreciated that continued TCP session connectivity between a multi-homed host (e.g., 103c) and a correspondent node (e.g. CN 202) requires that the same IP address for the multi-homed host be used throughout the session. Thus, if the IP address of the multi-homed host 103c were to change in the middle of a session, the existing TCP session would be torn down, and a new TCP session would need to be established (with the correspondent node) using the new IP address of the multi-homed host. Newly designed IP transport session protocols (e.g., SCTP) may not require the continued use of the same IP address; however these protocols are not widely deployed or available on CNs, and applications are only beginning to exploit the ability to change IP address during a given session. Thus, a method that maintains a given IP address for the lifetime of the session for legacy and new TCP applications is generally preferred since such a method will typically provide a higher degree compatibility with existing protocols.
Additionally, it will be appreciated that when the reachability of a given MHH through a given ISP goes down, the MHH may be reachable through an alternate ISP path only after routing convergence makes an alternative path feasible (or attractive in the routing sense). As used in this application, the time required for achieving such routing convergence may be referred to as the “route annealing” time required to access the MHH via an alternative path. Thus, it will be appreciated that conventional multi-homing techniques significantly impact the route annealing time required for convergence of interior and/or exterior routing protocols. Moreover, increased use of MHHs via traditional routing protocol techniques threatens the viability of today's external routing protocols.
Yet another problem associated with conventional multi-homing techniques is that route selection is typically based upon policy criteria of exterior routing protocols (e.g., BGP policy criteria). Typically, such policy criteria needs to be distributed to all affected routers (typically boarder routers) in the network in order, for example, to provide for proper route selection of specific types of traffic, or to provide for proper route selection of traffic originating from specific designated sources. However, such policy criteria only serves to further exacerbate advertisement bandwidth, routing table size, and packet processing requirements.
Thus, it will be appreciated that the conventional practice of implementing multi-homing techniques via routing protocols burdens network resources and limits scalability of the network. Accordingly, it will be appreciated that there exists a continual desire to improve upon multi-homing techniques in order, for example, to overcome at least some of the problems associated with conventional multi-homing techniques.